import { IEseData } from "./IEseData";
import { IPrfData } from "./IPrfData";
import { ISctData } from "./ISctData";
import { IAirlineIcaoData } from "./IAirlineIcaoData";
import { IAirportIcaoData } from "./IAirportIcaoData";
import { IAircraftIcaoData } from "./IAircraftIcaoData";
import { ISymbolConfig } from "./ISymbolConfig";
import { ISymbolDrawer } from "./ISymbolDrawer";
import { IVatsimData } from "./IVatsimData";
import { IAsrData } from "./IAsrData";

export interface IRadarRenderData {
    asr: Map<string, IAsrData>;
    ese: IEseData;
    prf: Map<string, IPrfData>;
    sct: ISctData;
    airlineIcaoData: Map<string, IAirlineIcaoData>;
    airportIcaoData: Map<string, IAirportIcaoData>;
    aircraftIcaoData: Map<string, IAircraftIcaoData>;
    /**
     * key为SymbolConfig.group-SymbolConfig.type
     */
    symbols: Map<string, ISymbolConfig>;
    airportSymbolDrawer: ISymbolDrawer;
    ndbSymbolDrawer: ISymbolDrawer;
    vorSymbolDrawer: ISymbolDrawer;
    fixSymbolDrawer: ISymbolDrawer;
    aStandbySymbolDrawer: ISymbolDrawer;
    aPrimaryRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrACModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrSModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrPrimAndACModeSecSymbolDrawer: ISymbolDrawer;
    aCorrPrimAndSModeSecSymbolDrawer: ISymbolDrawer;
    aCorrACModeIndentingSymbolDrawer: ISymbolDrawer;
    aCorrSModeIndentingSymbolDrawer: ISymbolDrawer;
    aFlightPlanTrackSymbolDrawer: ISymbolDrawer;
    aCoastingSymbolDrawer: ISymbolDrawer;
    historyDotSymbolDrawer: ISymbolDrawer;
    groundAircraftSymbolDrawer: ISymbolDrawer;
    aUnCorrACModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aUnCorrSModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aUnCorrPrimAndACModeSecSymbolDrawer: ISymbolDrawer;
    aUnCorrPrimAndSModeSecSymbolDrawer: ISymbolDrawer;
    aUnCorrACModeIndentingSymbolDrawer: ISymbolDrawer;
    aUnCorrSModeIndentingSymbolDrawer: ISymbolDrawer;
    groundVehicleSymbolDrawer: ISymbolDrawer;
    groundRotorcraftSymbolDrawer: ISymbolDrawer;
    vatsimData: IVatsimData;
}